import TSpace.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;

public class TSClient {
    static TupleSpace tsImpl;

    public static void main(String args[]) {
        try{
            System.out.println("len(args): " + args.length);
            for (int i = 0; i < args.length; ++ i) {
                System.out.println("args[" + i + "]: " + args[i]);
            }
            // create and initialize the ORB
            ORB orb = ORB.init(args, null);

            // get the root naming context
            org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
            // Use NamingContextExt instead of NamingContext. This is 
            // part of the Interoperable naming Service.  
            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

            // resolve the Object Reference in Naming
            String name = "TupleSpace";
            tsImpl = TupleSpaceHelper.narrow(ncRef.resolve_str(name));

            System.out.println("Obtained a handle on server object: " + tsImpl);
            System.out.println(tsImpl.sayHello());
            tsImpl.shutdown();
            
        } catch (Exception e) {
            System.out.println("ERROR : " + e) ;
            e.printStackTrace(System.out);
        }
    }

}

